<?php

namespace app\api\logic;

class Region
{
    /**
     * 查询列表
     * @param array $param
     * @return array
     */
    public function getList($param = []): array
    {
        // 查询条件
        $where = [['status', '=', 1]];
        if (!empty($param['name']))
        {
            $where[] = ['name', 'like', '%' . $param['name'] . '%'];
        }

        // 查询数据
        $field = 'id,name,initial';
        $list = app(\app\common\model\Region::class)->field($field)->where($where)->cache(true)->select();

        // 返回
        return $list ? $list->toArray() : [];
    }

    /**
     * 查询分组列表
     * @param $param
     * @return array
     */
    public function getGroupList($param): array
    {
        // 查询数据
        $list = $this->getList($param);

        // 组装数据
        $listGroup = [];
        foreach ($list as $key => $val)
        {
            if (isset($listGroup[$val['initial']]))
            {
                $listGroup[$val['initial']][] = $val;
            }
            else
            {
                $listGroup[$val['initial']] = [$val];
            }
        }
        return $listGroup;
    }
}